import {defineStore} from 'pinia'

//参数一唯一标识，参数二组合式函数
export const useGoodsStore = defineStore('lxy',{
    //定义数据
    state: ()=>({
        price:23,
        level:'vip',
        xl:123,
        desc:'nice'
    })
})

export const useShopStore = defineStore('lxy',{
    //定义数据,shi
    state: ()=>({
        day:'2020-12-4',//字符串
        age:12,
    }),
    //只读，通过计算得到的新地共享数据，如果依赖的数据发生变化则会重新计算
    getters:{
        //获取计算属性函数
        month(){
            //this为store实例
          return  this.day.split('-')[1]//使用横杠拆分为字符数组
        },
        //箭头函数获取不到this关键字，使用函数的的第一个参数指向实例对象
        argMonth: (store) =>{
            if(store.age <= 18) return '未成年';
            if(store.age <= 28) return '青年';
        }
    }
})

export const useDescStore = defineStore('lxy',{
    //定义数据,shi
    state: ()=>({
        day:'2020-12-4',//字符串
        age:12,
        desc:'ok'
    }),
    actions:{
        //定义共享的函数，主要的作用是修改state中数据逻辑代码块，其函数可以是异步操作
        setDataInfo(age,desc){
            //this表示当前store实例
            this.age = age;
            this.desc = desc
        },
        //通过对象修改data数据源
        setUserInifByObject(user){
            this.age = user.age;
            this.desc = user.desc
        }
    }
})